package com.dragon.account.repository;

import java.math.BigDecimal;
import java.util.List;
import java.util.Map;

import org.apache.ibatis.annotations.Param;

import com.dragon.account.entity.MpProduct;
import com.dragon.common.repository.mybatis.BaseRepository;
import com.dragon.common.repository.mybatis.MyBatisRepository;
import com.dragon.common.repository.mybatis.paginator.domain.PageBounds;

/**
 * @author hanchaoyong
 */
@MyBatisRepository
public interface MpProductRepository extends BaseRepository<MpProduct, Long> {
	
	public List<Map<String,Object>> selectProductInfoList();
	
	public Map<String,Object> selectProductTypeById(Long productTypeId);
	
	
	public List<Map<String,Object>> selectProductInfoList(PageBounds pageBounds);
	
	public Map<String,Object> selectProductInfo(Long productId);
	
	public Map<String,Object> getProductInfoForCarInsurance(Long productId);
	
	public List<Integer> selectProductTenor(String productType);
	
	public BigDecimal selectProduceRate(Long productId);
	
	//决策查询产品小类年利率
	public Map<String, Object> selectDecisionProduceRate(@Param("loanId") String loanId);

	public Map<String, BigDecimal> selectProductRateMap(Long productId);
	
	public BigDecimal selectConsultingFee(Long productId);
	
	public BigDecimal selectAdministrativeFee(Long productId);
	
	public List<Map<String,Object>> selectProductTypeList();

	public List<Map<String,Object>> selectProductTypeListByPatternType(String patternType);
	
	public List<Map<String,Object>> selectProductTypeListOrderByAscByPatternType(String patternType);
	
	
	public List<Map<String,Object>> selectProductAllByPatternType(String patternType);
	
	public List<Map<String,Object>> selectProductIdByChannelId(Integer channelProductId);
	
}
